68b4f5ce69b271d677dc3b9dbacc6bffa08cf5ed,sdk/src/main/java/com/google/cloud/dataflow/sdk/options/PipelineOptionsFactory.java,PipelineOptionsFactory,parseObjects,#Class#ListMultimap#boolean#,1433

Before Change


        } else if ((returnType.isArray() && (SIMPLE_TYPES.contains(returnType.getComponentType())
                    || returnType.getComponentType().isEnum()))
            || Collection.class.isAssignableFrom(returnType)
            || (returnType.equals(ValueProvider.class)
                && MAPPER.getTypeFactory().constructType(
                    ((ParameterizedType) method.getGenericReturnType())
                    .getActualTypeArguments()[0]).isCollectionLikeType())) {
          // Split any strings with ","
          List<String> values = FluentIterable.from(entry.getValue())
              .transformAndConcat(new Function<String, Iterable<String>>() {
                @Override
                public Iterable<String> apply(String input) {
                  return Arrays.asList(input.split(","));
                }
          }).toList();

          if (returnType.isArray() && !returnType.getComponentType().equals(String.class)
              || Collection.class.isAssignableFrom(returnType)
              || returnType.equals(ValueProvider.class)) {
            for (String value : values) {
              checkArgument(!value.isEmpty(),
                  "Empty argument value is only allowed for String, String Array, "
                  + "and Collections of Strings, but received: %s",
                  method.getGenericReturnType());
            }
          }
          convertedOptions.put(entry.getKey(), MAPPER.convertValue(values, type));

After Change


              }).toList();

          if (values.contains("")) {
            checkEmptyStringAllowed(returnType, type, method.getGenericReturnType().toString());
          }
          convertedOptions.put(entry.getKey(), MAPPER.convertValue(values, type));
        } else if (isSimpleType(returnType, type)) {